home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The X-Philes (2nd Revision)
/
The X-Philes Number 1 (1995).iso
/
xphiles
/
hp48hor2
/
sigmabug.doc
< prev
next >
Wrap
Text File
|
1995-03-31
|
2KB
|
47 lines
Éíííííííííííííííííííííííííííííííííííííííííííííí»
º Warning! STAT applications can wipe memory! º
èíííííííííííííííííííííííííííííííííííííííííííííí¼
äDAT EDIT bug, G/GX, rev K-P. Reported by EduCALC customer to Richard
Nelson. HP, when asked, said they knew about it. This writeup is by
Joe Horn.
úÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
3 DESCRIPTION 3 On an HP 48G or GX, version K through P, press:
àÄÄÄÄÄÄÄÄÄÄÄÄÄù
left-shift 5 (shows stat menu)
DATA (the first softkey)
3
left-shift äDAT (stores the 3 into äDAT)
right-shift 5 (shows the STAT application choose box)
ENTER (starts the Single-Var Statistics application)
EDIT (either the softkey or on the keyboard)
ÄÄ Memory Clear
úÄÄÄÄÄÄÄ¿
3 CAUSE 3 The EDIT key in the STAT applications throws the contents of
àÄÄÄÄÄÄÄù äDAT into the MatrixWriter without first performing an
object type check. This is reasonable, since the creation of äDAT
from the applications *does* perform object type checking. They
forgot that äDAT can be created elsewhere first, however. When an
object that is not an array (matrix) is thrown into the MatrixWriter,
which only knows how to work with arrays, all hell breaks loose.
Wanna see your HP48 on drugs? Perform the routine described above,
but instead of 3, use { 0 }. The MatrixWriter will launch, but filled
with garbage values. Press right-shift down-arrow, then right-shift
right-arrow. Look at the cell coordinates on the command line! It
would appear that we are editing a complex matrix that's 979,058 by
480,114! Yikes; that would require 7.52 Terabytes of RAM! Pressing
ON twice to exit reveals a pile of junk on the stack. Bad news.
úÄÄÄÄÄÄÄÄÄÄÄÄ¿
3 WORKAROUND 3 The best workaround is never to store non-arrays into
àÄÄÄÄÄÄÄÄÄÄÄÄù äDAT, which is a silly thing to do anyway. But since
software might do so, a sufficient workaround is to visually inspect
äDAT before pressing EDIT, and if it's not an array, then press MATRIX
(right-shift ENTER) instead of EDIT, or simply to type the matrix
directly from the keyboard and press ENTER.